package cn.taichoo.server.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * App打包历史记录对象 tai_app_package_record
 * 
 * @author Wuzh
 * @date 2025-03-17
 */
@Data
@TableName("tai_app_package_record")
public class AppPackageRecord extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** id */
    @TableId
    private Long id;

    /** APP主表Id */
    @Excel(name = "APP主表Id")
    @Schema(description = "APP主表Id")
    @TableField("app_id")
    private Long appId;

    /** APP类型；1：安卓；2：IOS；3：鸿蒙；4：小程序 */
    @Excel(name = "APP类型；1：安卓；2：IOS；3：鸿蒙；4：小程序")
    @TableField("type")
    @Schema(description = "APP类型；1：安卓；2：IOS；3：鸿蒙；4：小程序")
    private Long type;

    /** 版本号 */
    @Excel(name = "版本号")
    @Schema(description = "版本号")
    @TableField("app_version")
    private String appVersion;

    /** 内部识别版本号 */
    @Excel(name = "内部识别版本号")
    @Schema(description = "内部识别版本号")
    @TableField("code_version")
    private String codeVersion;

    /** 状态；1：排队中；2：打包中；3：打包成功；4：打包失败； */
    @Schema(description = "状态；1：排队中；2：打包中；3：打包成功；4：打包失败")
    @Excel(name = "状态；1：排队中；2：打包中；3：打包成功；4：打包失败；")
    @TableField("status")
    private Long status;

    /** 下载路径，打包成本后生成该URL */
    @Schema(description = "下载路径，打包成本后生成该URL")
    @Excel(name = "下载路径，打包成本后生成该URL")
    @TableField("download_url")
    private String downloadUrl;

    /** 开始打包时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "开始打包时间")
    @Excel(name = "开始打包时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("start_time")
    private Date startTime;

    /** 结束打包时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "结束打包时间")
    @Excel(name = "结束打包时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("end_time")
    private Date endTime;

    /** 打包说明简介 */
    @TableField("desc_info")
    @Schema(description = "版本号")
    @Excel(name = "版本号")
    private String descInfo;

    /** 包签名 */
    @Excel(name = "包签名")
    @Schema(description = "包签名")
    @TableField("sign_info")
    private String signInfo;

    /** sha1 */
    @Excel(name = "sha1")
    @Schema(description = "sha1")
    @TableField("sha1")
    private String sha1;

    /** 是否删除 */
    @Excel(name = "是否删除")
    @Schema(description = "是否删除")
    @TableField("deleted")
    private Integer deleted;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setAppId(Long appId) 
    {
        this.appId = appId;
    }

    public Long getAppId() 
    {
        return appId;
    }

    public void setType(Long type) 
    {
        this.type = type;
    }

    public Long getType() 
    {
        return type;
    }

    public void setAppVersion(String appVersion) 
    {
        this.appVersion = appVersion;
    }

    public String getAppVersion() 
    {
        return appVersion;
    }

    public void setCodeVersion(String codeVersion) 
    {
        this.codeVersion = codeVersion;
    }

    public String getCodeVersion() 
    {
        return codeVersion;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setDownloadUrl(String downloadUrl) 
    {
        this.downloadUrl = downloadUrl;
    }

    public String getDownloadUrl() 
    {
        return downloadUrl;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setDescInfo(String descInfo) 
    {
        this.descInfo = descInfo;
    }

    public String getDescInfo() 
    {
        return descInfo;
    }

    public void setSignInfo(String signInfo) 
    {
        this.signInfo = signInfo;
    }

    public String getSignInfo() 
    {
        return signInfo;
    }

    public void setSha1(String sha1) 
    {
        this.sha1 = sha1;
    }

    public String getSha1() 
    {
        return sha1;
    }

    public void setDeleted(Integer deleted) 
    {
        this.deleted = deleted;
    }

    public Integer getDeleted() 
    {
        return deleted;
    }

}
